const router = require("express").Router()
const User = require('../models/usersModel')
const userModel = new User()
// 示例： http://localhost:5000/api/user/test
router.get("/test", async (req,res)=>{
    res.send({
        code: 200,
        msg: "测试用户路由模块成功"
    })
})
// 地址：/api/user/register
// 方式：POST
// 参数: username,password,email
// 响应式: json格式
// 示例： http://localhost:5000/api/user/register
router.post("/register", async (req,res)=>{
    let {username,password,email} = req.body
    // console.log('test',username,password,email);
    if(username && password && email) {
        await userModel.register(username,password,email)
        .then(
            content=> {
                res.send(content)
                console.log(content);
                
            }
        )
    }
    else {
        res.send({
            code: -1,
            msg: "缺少参数~~"
        })
    }
})


// 地址：/api/user/login
// 方式：POST
// 参数: password,email
// 响应式: json格式
// 示例： http://localhost:5000/api/user/login
router.post("/login", async (req,res)=>{
    let {password,email} = req.body
    if( password && email) {
        await userModel.login (password,email)
        .then(
            content=> {
                res.send(content)
            }
        )
    }
    else {
        res.send({
            code: -1,
            msg: "缺少参数~~"
        })
    }
})

// 地址：/api/user/list
// 方式：POST
// 参数: page,pageSize
// 响应式: json格式
// 示例： http://localhost:5000/api/user/list
router.post("/list", async (req,res)=>{
    let {page,pageSize} = req.body
    await userModel.list(page,pageSize)
    .then(
        content=> {
            res.send(content)
        }
    )
})

// 地址：/api/user/search
// 方式：POST
// 参数: text (可以是用户ID, 邮箱)
// 响应式: json格式
// 示例： http://localhost:5000/api/user/search
router.post("/search", async (req,res)=>{
    let { text } = req.body
    await userModel.search(text)
    .then(
        content=> {
            res.send(content)
        }
    )
})

// 地址：/api/user/remove
// 方式：POST
// 参数: user_id
// 响应式: json格式
// 示例： http://localhost:5000/api/user/remove
router.post("/remove", async (req,res)=>{
    let { user_id } = req.body
    await userModel.remove(user_id)
    .then(
        content=> {
            res.send(content)
        }
    )
})


// 地址：/api/user/info
// 方式：POST
// 参数: user_id
// 响应式: json格式
// 示例： http://localhost:5000/api/user/info
router.post("/info", async (req,res)=>{
    let { user_id } = req.body
    await userModel.info(user_id)
    .then(
        content=> {
            res.send(content)
        }
    )
})

module.exports = router;